package router

import (
	"server/application/constant/apis"
	"server/application/controller/sysctrl"
	"server/application/db/system/dbdto"
	"server/application/dto"
	"server/pkg/ginp"
)

func init() {

	//创建
	AppendRouter(ItemInfo{
		Path:           apis.ApiSysRoleCreate,                   //api路径
		Handlers:       ginp.ConvHandler(sysctrl.SysRoleCreate), //对应控制器
		HttpType:       HttpPost,                                //http请求类型
		NeedLogin:      true,                                    //是否需要登录
		NeedPermission: true,                                    //是否需要鉴权
		PermissionName: "SysRole.create",                        //完整的权限名称,会跟权限表匹配
		Swagger: &SwaggerInfo{
			Title:      "创建角色",
			RequestDto: dbdto.SysRoleCreate{},
		},
	})

	//修改
	AppendRouter(ItemInfo{
		Path:           apis.ApiSysRoleUpdate,                   //api路径
		Handlers:       ginp.ConvHandler(sysctrl.SysRoleUpdate), //对应控制器
		HttpType:       HttpPost,                                //http请求类型
		NeedLogin:      true,                                    //是否需要登录
		NeedPermission: true,                                    //是否需要鉴权
		PermissionName: "SysRole.update",                        //完整的权限名称,会跟权限表匹配
		Swagger: &SwaggerInfo{
			Title:      "修改角色",
			RequestDto: dbdto.SysRoleUpdate{},
		},
	})

	// 删除
	AppendRouter(ItemInfo{ //delete
		Path:           apis.ApiSysRoleDelete,                   //api路径
		Handlers:       ginp.ConvHandler(sysctrl.SysRoleDelete), //对应控制器
		HttpType:       HttpPost,                                //http请求类型
		NeedLogin:      true,                                    //是否需要登录
		NeedPermission: true,                                    //是否需要鉴权
		PermissionName: "SysRole.delete",                        //完整的权限名称,会跟权限表匹配
		Swagger: &SwaggerInfo{
			Title:      "删除角色",
			RequestDto: dbdto.SysRoleDelete{},
		},
	})

	//search 搜索
	AppendRouter(ItemInfo{ //search
		Path:           apis.ApiSysRoleSearch,                   //api路径
		Handlers:       ginp.ConvHandler(sysctrl.SysRoleSearch), //对应控制器
		HttpType:       HttpPost,                                //http请求类型
		NeedLogin:      true,                                    //是否需要登录
		NeedPermission: true,                                    //是否需要鉴权
		PermissionName: "SysRole.search",                        //完整的权限名称,会跟权限表匹配
		Swagger: &SwaggerInfo{
			Title:      "获取角色列表",
			RequestDto: dto.ReqSearch{},
		},
	})

	//获取角色【下拉选择】列表
	AppendRouter(ItemInfo{ //search
		Path:           apis.ApiSysRoleGetTreeSelect,                //api路径
		Handlers:       ginp.ConvHandler(sysctrl.GetRoleTreeSelect), //对应控制器
		HttpType:       HttpPost,                                    //http请求类型
		NeedLogin:      true,                                        //是否需要登录
		NeedPermission: false,                                       //是否需要鉴权
		PermissionName: "",                                          //完整的权限名称,会跟权限表匹配
		Swagger: &SwaggerInfo{
			Title: "获取角色【树形下拉】列表",
		},
	})

	//获取角色的树形列表
	AppendRouter(ItemInfo{ //search
		Path:           apis.ApiSysRoleGetTree,                    //api路径
		Handlers:       ginp.ConvHandler(sysctrl.GetRoleTreeList), //对应控制器
		HttpType:       HttpPost,                                  //http请求类型
		NeedLogin:      true,                                      //是否需要登录
		NeedPermission: false,                                     //是否需要鉴权
		PermissionName: "",                                        //完整的权限名称,会跟权限表匹配
		Swagger: &SwaggerInfo{
			Title: "获取角色【树形】列表",
		},
	})

	//{{append}}
}
